|
A concatenative programming language is a point-free computer programming language in which all expressions denote functions, and the juxtaposition of expressions denotes function composition. Concatenative programming replaces function application, which is common in other programming styles, with function composition as the default way to build subroutines. == Example == For example, a sequence of operations in an applicative language like the following: ...is written in a concatenative language as a sequence of functions, without parameters:〔(【引用サイトリンク】 title=Name code not values )〕 foo bar baz Functions and procedures written in concatenative style are not value level, i.e. they typically don't represent the data structures they operate on with explicit names or identifiers; instead they are function level - a function is defined as a pipeline, a sequence of operations that take parameters from an implicit data structure on which all functions operate, and return the function results to that shared structure so that it will be used by the next operator.〔(【引用サイトリンク】 title=Concatenative language )〕 The combination of a compositional semantics with a syntax that mirrors such a semantics makes concatenative languages highly amenable to algebraic manipulation of programs;〔(【引用サイトリンク】archiveurl=https://web.archive.org/web/20110115151536/http://www.latrobe.edu.au/philosophy/phimvt/joy/j00rat.html )〕 although it may be difficult to write mathematical expressions directly in them.〔 Concatenative languages can be implemented in an efficient way with a stack machine, and are a common strategy to program virtual machines. 〔(【引用サイトリンク】 title=Why Concatenative Programming Matters )〕 Much of the original work on concatenative language theory was carried out by Manfred von Thun. 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「concatenative programming language」の詳細全文を読む スポンサード リンク
|